package com.mhh.selary.backend.api.project;

import com.mhh.selary.backend.dto.project.ProjectDTO;
import com.mhh.selary.backend.dto.project.ProjectGroupTreeDTO;
import com.mhh.selary.backend.dto.project.ProjectSaveDTO;
import com.mhh.selary.backend.dto.project.SubGroupSaveDTO;

import java.util.List;

/**
 * ISelaryProjectService
 *
 * @author 人工智能
 * @date 2020-09-14 15:43:09
 */
public interface ISelaryProjectService {

    /**
     * 查询所有项目
     *
     * @return
     */
    List<ProjectDTO> findAll();

    /**
     * 保存项目
     *
     * @param dto
     * @return
     */
    Long saveProject(ProjectSaveDTO dto);

    /**
     * 删除项目
     *
     * @param projectId
     * @return
     */
    void delProject(Long projectId);

    /**
     * 保存分组
     *
     * @param dto
     * @return
     */
    Long saveGroup(SubGroupSaveDTO dto);

    /**
     * 删除分组
     *
     * @param groupId
     * @return
     */
    void delGroup(Long groupId);

    /**
     * @param projectId
     * @return
     */
    ProjectGroupTreeDTO groupTree(Long projectId);

    /**
     * 用户可选择的项目选择下拉框
     *
     * @return
     */
    List<ProjectDTO> userProjectDropDown();

}
